package com.zf.yichat.model;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;

@Table(name = "user_print_tree_details")
public class UserPrintTreeDetails implements Serializable {

    // 获取浇水次数
    public static final String OBTAIN = "0";
    // 使用浇水次数
    public static final String USE = "1";

    @Id
    private Long id;

    /**
     * 用户ID
     */
    @Column(name = "user_id")
    private Long userId;

    /**
     * 任务名称
     */
    private String name;

    /**
     * 浇水次数
     */
    private Integer number;

    /**
     * 类型 0 获取  1 使用 
     */
    private String type;

    @Column(name = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    private static final long serialVersionUID = 1L;

    public UserPrintTreeDetails(Long id, Long userId, String name, Integer number, String type, Date createTime) {
        this.id = id;
        this.userId = userId;
        this.name = name;
        this.number = number;
        this.type = type;
        this.createTime = createTime;
    }

    public UserPrintTreeDetails() {
        super();
    }

    /**
     * @return id
     */
    public Long getId() {
        return id;
    }

    /**
     * @param id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取用户ID
     *
     * @return user_id - 用户ID
     */
    public Long getUserId() {
        return userId;
    }

    /**
     * 设置用户ID
     *
     * @param userId 用户ID
     */
    public void setUserId(Long userId) {
        this.userId = userId;
    }

    /**
     * 获取任务名称
     *
     * @return name - 任务名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置任务名称
     *
     * @param name 任务名称
     */
    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    /**
     * 获取浇水次数
     *
     * @return number - 浇水次数
     */
    public Integer getNumber() {
        return number;
    }

    /**
     * 设置浇水次数
     *
     * @param number 浇水次数
     */
    public void setNumber(Integer number) {
        this.number = number;
    }

    /**
     * 获取类型 0 获取  1 使用 
     *
     * @return type - 类型 0 获取  1 使用 
     */
    public String getType() {
        return type;
    }

    /**
     * 设置类型 0 获取  1 使用 
     *
     * @param type 类型 0 获取  1 使用 
     */
    public void setType(String type) {
        this.type = type == null ? null : type.trim();
    }

    /**
     * @return create_time
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * @param createTime
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}